/*
 * InfoTerminoIndexado.h
 *
 *  Created on: 22/11/2011
 *      Author: ariel
 */

#ifndef INFO_TERMINO_INDEXADO_H_
#define INFO_TERMINO_INDEXADO_H_

#include "../../estructuras/lista/Lista.h"
#include "Frecuencia_por_IdDoc.h"

typedef int tEnt;
typedef unsigned int tIdTermino;

class InfoTerminoIndexado {

private:
	tIdTermino IdTermino;
	tEnt cantDocs;
	Lista<Frecuencia_por_IdDoc*>* frecuencias_por_IdDocs;
public:
	InfoTerminoIndexado();
	InfoTerminoIndexado(tIdTermino IdTermino, tIdDoc IdDoc);

	tIdTermino getIdTermino() const;
	tEnt getCantDocs() const;

	//actualizara la frecuencia de IdDoc, o se creara un par Frecuencia_por_IdDoc segun corresponda
	void actualizar(tIdDoc IdDoc);

	Lista<Frecuencia_por_IdDoc*>* getFrecuencias_por_IdDoc() const;

	InfoTerminoIndexado& operator=(const InfoTerminoIndexado& unInfoTermino);

	//solo para test
	void imprimirDatos();
	virtual ~InfoTerminoIndexado();

private:

	void incrementarEnUno_cantDocs();
};

#endif /* INFO_TERMINO_INDEXADO_H_ */
